package com.yixin.ystartlibrary.utils;

import android.content.Context;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;

import com.yixin.ystartlibrary.widget.RotationDialog;

/**
 * User: Luozi
 * Date: 2015-11-26
 * Content:
 */
public class LoadingDialogUtils {


    /**
     * 显示用户交互等待提示框.
     *
     * @param context application
     * @param message 内容信息
     * @return AlertDialog
     * @see LoadingDialogUtils#show(Context, CharSequence, boolean)
     */
    public static AlertDialog show(Context context, CharSequence message) {
        return show(context, message, false);
    }

    /**
     * 显示用户交互等待提示框.
     *
     * @param context    application
     * @param message    内容信息
     * @param cancelable 是否可以点击返回或点击空白处取消
     * @return AlertDialog
     * @see LoadingDialogUtils#show(Context, CharSequence, boolean,
     * DialogInterface.OnCancelListener)
     */
    public static AlertDialog show(Context context, CharSequence message,
                                   boolean cancelable) {
        return show(context, message, cancelable, null);
    }

    /**
     * 显示用户交互等待提示框.
     *
     * @param context        application
     * @param message        内容信息
     * @param cancelable     是否可以点击返回或点击空白处取消
     * @param cancelListener 取消事件
     * @return AlertDialog
     */
    public static AlertDialog show(Context context, CharSequence message,
                                   boolean cancelable, DialogInterface.OnCancelListener cancelListener) {
        AlertDialog mPd = RotationDialog.show(context, message, cancelable, cancelListener);
        return mPd;
    }


    /**
     * 创建用户交互等待提示框.
     *
     * @param context application
     * @param message 内容信息
     * @return AlertDialog
     * @see LoadingDialogUtils#show(Context, CharSequence, boolean)
     */
    public static AlertDialog create(Context context, CharSequence message) {
        return create(context, message, false);
    }

    /**
     * 创建用户交互等待提示框.
     *
     * @param context    application
     * @param message    内容信息
     * @param cancelable 是否可以点击返回或点击空白处取消
     * @return AlertDialog
     * @see LoadingDialogUtils#show(Context, CharSequence, boolean, DialogInterface.OnCancelListener)
     */
    public static AlertDialog create(Context context, CharSequence message,
                                     boolean cancelable) {
        return create(context, message, cancelable, null);
    }

    /**
     * 创建用户交互等待提示框.
     *
     * @param context        application
     * @param message        内容信息
     * @param cancelable     是否可以点击返回或点击空白处取消
     * @param cancelListener 取消事件
     * @return AlertDialog
     */
    public static AlertDialog create(Context context, CharSequence message, boolean cancelable,
                                     DialogInterface.OnCancelListener cancelListener) {
        AlertDialog mPd = RotationDialog.create(context, message, cancelable, cancelListener);
        return mPd;
    }
}
